home *** CD-ROM | disk | FTP | other *** search
- SHARP @DL de:DG4HAB 18.01.94 13:00 60 9518 Bytes
- QTH-Loc. Prg. (1260/61/62)
- *** Bulletin-ID: 171411DB0GR ***
-
- 940118/1255z DB0RBS, 940118/1236z DB0ROT, 940118/1144z DB0AIS
- 940118/1141z DB0SIF, 940118/1143z DB0SON, 940118/1135z DB0FP
- 940118/1131z DB0ERF, 940118/1120z DB0BBX, 940118/1115z DB0JES
- 940117/1545z DB0GR
- de DG4HAB @ DB0GR.DEU.EU
- to SHARP @ DL
-
- de: DG4HAB @ DB0GR Joerg AUBi 45
- to: DB0GR (SHARP) @ DL
-
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- + Arbeitsgemeinschaft UKW Berlin, AUB Genfer Str. 109, 13407 Berlin +
- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 12.01.1994
-
- Kleines Basic-Programm zur Errechnung der Antennenrichtung und
- Entfernung zwischen zwei Amateurfunklokatorangaben
-
- Moin, moin all tosammen!
-
- Waehrend meiner Vorbereitung zur Amateurfunklizenz stiess ich, wie wohl
- jeder in dieser Situation, auf den Amateurfunklokator. Fuer mich, der
- sich schon laengere Zeit mit Navigation beschaeftigt, erhob sich nun die
- Frage:
-
- "Wozu haben die Amateurfunker ein anderes weltweites Koordinatensystem
- geschaffen und dabei gegenueber dem in der Seefahrt bekannten Ko-
- ordinatensystem eine Vergroeberung des Rasters vorgenommen?"
-
- Inzwischen habe ich mir eine Antwort auf diese Frage zurechtgelegt, die
- mir einleuchtet und ich hier zum Besten geben moechte:
-
- Sieht man sich einmal die Positionsangabe eines Schiffes an und ver-
- gleicht dieselbe Position mit Hilfe des Amateurfunklokators, so er-
- kennt man sofort den Vorteil der wenigen Zeichen, die notwendig sind.
- Besonders die Telegraphisten werden diesen Vorteil zu schaetzen wissen.
- Aber auch in anderen Betriebsarten hat diese Ortsangabe ihre Vorteile.
- Wenn zwei Buchstaben, zwei Ziffern und nochmals zwei Buchstaben aufge-
- nommen wurden, kann es sich nur um den QTH-Lokator gehandelt haben.
- Durch die besonders kurz gehaltene Angabe reicht es mit grosser Wahr-
- scheinlichkeit, den Standort zwischen zwei Fadingeinbruechen mitzu-
- teilen. Fuer diesen Vorteil kann man auch die geringfuegige Ungenauig-
- keit in Kauf nehmen.
-
- Seefahrt: Amateurfunk:
- --------- ------------
- 52 Grad 30,81'Nord gegenueber JO62OM
- 13 Grad 14,50'Ost
-
- Der Amateurfunklokator ist gegenueber dem in der Seefahrt verwandten
- Koordinatensystem groeber und hat einen anderen Ursprungspunkt.
- Waehrend man noerdliche und suedliche Breiten unterscheidet und die
- Laengengrade vom willkuerlich nach Greenwich gelegten 0. Laengengrad
- aus angibt, so hat der Amateurfunklokator seinen Ursprung am Suedpol
- bei 180 Grad westlicher Laenge. Hier liegt das Lokatorfeld AA00AA.
- Das letzte und damit die hoechstmoegliche Angabe des Amateurfunklokator
- heisst: RR99XX.
-
- Um mich in diesen fuer mich zu dem Zeitpunkt ungewoehnlichen
- Koordinatensystem zurecht zufinden, musste ich mich damit beschaeftigen
- und was bietet sich da besser an als ein Programm in diesem Zusammenhang
- zu schreiben? Damit das Programm ueberall, also auch mal beim Fieldday
- zum Einsatz kommen kann, sollte es in den schon vorhandenen programmier-
- baren Taschenrechner Sharp 1262 hineinpassen. Das Ergebniss zeigen die
- folgenden Listings:
-
- Listing 1
- (in allgemein verstaendlichem Basic, mit eingestreuten Erlaeuterungen,
- damit es in jeden Basicdialekt umgeschrieben werden kann)
-
- 4000 REM AFUNKNAV
- REM Eventuell muessen hier die Variablen deklariert werden dazu
- REM kann die Variablenliste im Anschluss eine grosse Hilfe sein.
- 4005 PI = 3.141592654
- 4006 GOTO 4010
- REM Unterprogramm zur Sicherstellung, das keine Antennenrichtung von
- REM mehr als 360 Grad ensteht
- 4007 K = (K+360)/360
- K = (K-INT(K))*360
- RETURN
- REM Breite wird aus den Lokatorangaben extrahiert und berechnet
- REM Der Befehl ASC gibt den ASCII-Wert des jeweiligen Zeichens an.
- REM Hier muessen Grossbuchstaben verwandt werden.
- 4008 B = (ASC(MID$(C$,2,1))-65)*10- 90+
- (ASC(MID$(C$,4,1))-48)+
- ((ASC(MID$(C$,6,1))-65)/24)
- RETURN
- REM Laenge wird aus den Lokatorangaben extrahiert und berechnet
- 4009 L = (ASC(MID$(C$,1,1))-65)*20-180+
- (ASC(MID$(C$,3,1))-48)* 2+
- ((ASC(MID$(C$,5,1))-65)/12)
- RETURN
- REM Hier beginnt das Hauptprogramm
- REM mit der Eingabe RUN 4010 kann gestartet werden
- 4010 CLS
- PRINT "Amateurfunk-Locator >> Kurs + Distanz"
- INPUT "Locator1: ";A$
- REM Bildschirm loeschen, Ueberschrift und Abfrage des ersten Lokators
- REM Uebergabe der Daten an die Unterprogramme und Aufruf derselben
- C$ = A$
- 4020 GOSUB 4008
- B1 = B
- GOSUB 4009
- L1 = L
- REM Positionieren der Abfrage des zweiten Lokators
- REM hier auf die zweite Zeile
- CURSOR 24
- INPUT "Locator2: ";BB$
- REM Uebergabe der Daten an die Unterprogramme und Aufruf derselben
- C$ = BB$
- GOSUB 4008
- B2 = B
- GOSUB 4009
- L2 = L
- REM Jetzt stehen die Daten fuer B1, B2, L1 und L2 fest
- REM Bildung der Differenz von Breite1 und Breite2.
- REM Zur Vermeidung einer Division durch Null wird die Breite2
- REM leicht veraendert.
- 4030 G = B2-B1
- IF G=0 THEN LET B2=B2+.00001
- REM Berechnung der Antennenrichtung oder Kurses.
- REM Bei der Uebertragung auf einen anderen Rechner ist zu Beachten,
- REM das hier im Bogenmass gerechnet wird.
- REM Umrechnung ins Bogenmass
- 4035 L1 = L1*PI/180
- L2 = L2*PI/180
- B1 = B1*PI/180
- B2 = B2*PI/180
- 4040 K = 180+(ATN(((L2-L1)*COS((B2+B1)/2))/(B2-B1)))*180/PI
- REM Mit diesem Unterprogramm wird sichergestellt, das keine
- REM Antennenrichtungen groesser als 360 Grad entstehen.
- GOSUB 4007
- REM Berechnung der Distanz
- 4050 D = ((B2-B1)*180*60)/(COS(K*PI/180)*PI)
- IF D<0 THEN LET K=K+180
- REM Mit diesem Unterprogramm wird sichergestellt, das keine
- REM Antennenrichtungen groesser als 360 Grad entstehen.
- GOSUB 4007
- REM Bildschirm loeschen und formatierte Anzeige der beteiligten
- REM Lokatoren und der Antennenrichtung und Entfernung.
- 4060 CLS
- USING "######.#"
- PRINT A$;" Peilung:";K
- REM Da die Formeln das Ergebnis in Seemeilen ausgeben erfolgt hier
- REM die Umrechnung in Kilometer
- PRINT BB$;" Entfernung/km:";(ABS D)*1.852
- END
-
-
- Variablen und ihre Verwendung: (gilt fuer die allgemeine und die Sharp-
- spezifische Version des Listings)
-
- A$ - Stringvariable - zur Aufnahme von Lok. 1
- BB$ - Stringvariable - zur Aufnahme von Lok. 2
- C$ - Stringvariable - zur Uebergabe beider Lok. an die Unterprog.
- B - numerische Variable - Breite allgemein vom Unterprogramm
- B1 - numerische Variable - Breite des ersten Lok.
- B2 - numerische Variable - Breite des zweiten Lok.
- L - numerische Variable - Laenge allgemein vom Unterprogramm
- L1 - numerische Variable - Laenge des ersten Lok.
- L2 - numerische Variable - Laenge des zweiten Lok.
- G - numerische Variable - Differenz in der Breite
- D - numerische Variable - Distanz zwischen Lok. 1 + Lok. 2 in Seemeilen
- K - numerische Variable - Kurs bzw. Richtung von Lok. 1 zu Lok. 2
-
-
-
- Listing 2 (speziell fuer Anwender der programmierbaren Taschenrechner
- aus der Baureihe Sharp PC-1260/61/62)
-
- 4000 REM AFUNKNAV
- 4007 K=K+360)/360:K=(K- INT K)*360: RETURN
- 4008 B=( ASC ( MID$ (C$,2,1))-65)*10-90+( ASC ( MID$ (C$,4,1))-48)
- +(( ASC ( MID$ (C$,6,1))-65)/24): RETURN
- 4009 L=( ASC ( MID$ (C$,1,1))-65)*20-180+( ASC ( MID$ (C$,3,1))-48)*2
- +(( ASC ( MID$ (C$,5,1))-65)/12): RETURN
- 4010 "=": CLS : PRINT "Amateurfunk-Locator >> Kurs + Distanz"
- : INPUT "Locator1: ";A$:C$=A$
- 4020 GOSUB 4008:B1=B: GOSUB 4009:L1=L: CURSOR 24
- : INPUT"Locator2:";BB$:C$=BB$ : GOSUB 4008:B2=B: GOSUB 4009:L2=L
- 4030 G=B2-B1: IF G=0 THEN LET B2=B2+.00001
- 4040 K= ATN (( π *(L2-L1))/(180*(( LN ( TAN (45+B2/2)))
- -( LN( TAN (45+B1/2)))))): GOSUB 4007
- 4050 D=(60*(B2-B1))/( COS K): IF D<0 THEN LET K=K+180: GOSUB 4007
- 4060 CLS : WAIT 0: USING "######.#": PRINT A$;" Peilung:";K: WAIT
- : CURSOR 24 : PRINT BB$;" Entf./km:";( ABS D)*1.852: END
-
- Nach der langweiligsten Sache der Welt, dem Abtippen von Listings
- nun zur Anwendung:
-
- Nach dem Druecken der Tasten "DEF" und "=" erscheint eine Ueberschrift,
- die mit "ENTER" erlischt und nach dem ersten Lokator fragt. Die Eingabe
- wird mit "ENTER" bestaetigt und es wird nach dem zweiten Lokator ge-
- fragt. Auch diesen gibt man mit nachfolgendem "ENTER" ein und die
- Rechnerei geht los. Nach wenigen Sekunden stehen am Anfang der Zeilen
- untereinander die beiden eingegebenen Lokator und rechts daneben die
- Entfernung und die Richtung vom ersten zum zweiten Lokatorpunkt.
-
- Ueber Erfahrungen oder auch Kritik wuerde ich mich sehr freuen und nehme
- sie gern hier in der Box DB0GR in der Rubrik AUB oder unter meinem
- Rufzeichen entgegen.
-
- Viel Spass beim Probieren und Rechnen mit dem Programm!
-
- 73 de Joerg DG4HAB @ DB0GR AUBi45
-
-
-